home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Developer Toolbox 6.1
/
SGI Developer Toolbox 6.1 - Disc 4.iso
/
public
/
SciAn
/
src
/
ScianSIMSFiles.h
< prev
next >
Wrap
Text File
|
1994-08-01
|
5KB
|
227 lines
/* ----------------------------
ScianSIMSFiles.h
includes for ScianSIMSFiles.c
data for XYZ file format as defined by
Research Equipment Inc. dba Minnesota
Supercomputer Center (1991)
symbol table included
modified for Gaussian reader
Christina Lam
June 1993
----------------------------- */
#define ANGSTROMS_PER_ALU 0.5292
#define N_XYZ_SYMBOLS 127
/* -----------------
Array to pair up XYZ atom names to atomic numbers
----------------- */
typedef struct
{
char *symbol; /* name in periodic table */
char *name; /* xyz format-specific name */
int atomicNumber; /* atomic number */
} xyzInfo;
xyzInfo *xyzExtraSymbolTable;
char xyzExtraInfoFile[] = "userXYZ.dat"; /*user-defined atoms */
int numExtraXYZSymbols = 0;
/* ----------------
Structure to hold atom data for each frame as it is being read
---------------- */
typedef struct
{
real coords[3]; /* xyz coordinates */
char name[4];
int atomicNumber;
} atomData;
/* ----------------
Structure to record grid parameters for DMOL .grd file
---------------- */
typedef struct
{
real a, b, c; /* grid cell span in x, y, z directions */
real alpha, beta, gamma; /* cell angles */
int numX, numY, numZ; /* number of intervals in x, y, z */
Bool xIsFastest; /* true if x varies fastest, false if y does */
int xStart, xEnd; /* spaces to left and right of origin */
int yStart, yEnd;
int zStart, zEnd;
} gridParameters;
/* ---------------------------------
Structure to record coefficients and arguments for
Gaussian basis function
--------------------------------- */
typedef struct
{
real c, d; /* coefficients*/
real zeta; /* orbital exponent */
int nx, ny, nz;
real Rx, Ry, Rz; /* origin or pt of reference*/
} gaussianParameters;
/* -----------------------------------
Structure to record coordinates and atom type
of nuclear centres
----------------------------------- */
typedef struct
{
int atomicNumber;
real x, y, z;
} nuclearCentre;
/* -------------------------------------
Structure to record exponents and coefficients of
basis set
-------------------------------------- */
typedef struct
{
char shellType[4]; /* S, SP, D */
real scaleFactor; /* multiplies the exponent */
int numPrim; /*number of primitives for this shell */
real *exponents; /* ptr to 1D array of size numPrim */
real *s; /* ptr to .... of s coeffs */
real *p;
real *d;
} basis;
xyzInfo xyzSymbolTable[N_XYZ_SYMBOLS] = {
{"C", "C", 6},
{"C", "C1", 6},
{"C", "C2", 6},
{"C", "C3", 6},
{"C", "CAR", 6},
{"C", "CARO", 6},
{"C", "CH2AL", 6},
{"C", "CH2OL", 6},
{"C", "CH3AL", 6},
{"C", "CHAL", 6},
{"C", "CHAR", 6},
{"C", "CHOL", 6},
{"C", "CSP", 6},
{"C", "CSP2", 6},
{"C", "CSP3", 6},
{"H", "H", 1},
{"H", "HALI", 1},
{"H", "HARO", 1},
{"H", "HHBN", 1},
{"Li", "LI", 3},
{"B", "B", 5},
{"N", "N", 7},
{"N", "N1", 7},
{"N", "N2", 7},
{"N", "N3", 7},
{"N", "N3+", 7},
{"N", "NAM", 7},
{"N", "NAR", 7},
{"N", "NARO", 7},
{"N", "NPL3", 7},
{"N", "NSP", 7},
{"N", "NSP2", 7},
{"N", "NSP3", 7},
{"N", "NSP3+", 7},
{"O", "O", 8},
{"O", "O2", 8},
{"O", "O3", 8},
{"O", "OSP2", 8},
{"O", "OSP3", 8},
{"O", "OSP3-", 8},
{"F", "F", 9},
{"Na", "NA", 11},
{"Mg", "MG", 12},
{"Al", "AL", 13},
{"Si", "SI", 14},
{"P", "P", 15},
{"P", "P(C)", 15},
{"P", "P(N)", 15},
{"P", "P(O)", 15},
{"P", "P(S)", 15},
{"S", "S", 16},
{"S", "S2", 16},
{"S", "S3", 16},
{"S", "SDIV", 16},
{"S", "STET", 16},
{"S", "STRI", 16},
{"Cl", "CL", 17},
{"K", "K", 19},
{"Ca", "CA", 20},
{"Sc", "SC", 21},
{"Ti", "TI", 22},
{"V", "V", 23},
{"Cr", "CR", 24},
{"Mn", "MN", 25},
{"Fe", "FE", 26},
{"Co", "CO", 27},
{"Ni", "NI", 28},
{"Cu", "CU", 29},
{"Zn", "ZN", 30},
{"Ga", "GA", 31},
{"Br", "BR", 35},
{"Rb", "RB", 37},
{"Ag", "AG", 47},
{"I", "I", 53},
{"Cs", "CS", 55},
{"Au", "AU", 79},
{"XX", "XX", 99},
{"Cb", "CB", 102},
{"+", "+", 103},
{"++", "++", 104},
{"-", "-", 105},
{"--", "--", 106},
{"Tv", "TV", 107},
{"?", "DU", 0},
{"?", "LP", 0},
{"#", "P3", 0},
{"#", "P3D", 0},
{"#", "P4", 0},
{"#", "SO", 0},
{"#", "SO2", 0},
{"H", "1", 1},
{"Li", "3", 3},
{"B", "5", 5},
{"C", "6", 6},
{"N", "7", 7},
{"O", "8", 8},
{"F", "9", 9},
{"Na", "11", 11},
{"Mg", "12", 12},
{"Al", "13", 13},
{"Si", "14", 14},
{"P", "15", 15},
{"S", "16", 16},
{"Cl", "17", 17},
{"K", "19", 19},
{"Ca", "20", 20},
{"Sc", "21", 21},
{"Ti", "22", 22},
{"V", "23", 23},
{"Cr", "24", 24},
{"Mn", "25", 25},
{"Fe", "26", 26},
{"Co", "27", 27},
{"Ni", "28", 28},
{"Cu", "29", 29},
{"Zn", "30", 30},
{"Ga", "31", 31},
{"Br", "35", 35},
{"Rb", "37", 37},
{"Ag", "47", 47},
{"I", "53", 53},
{"Cs", "55", 55},
{"Au", "79", 79},
{"Bq", "BQ", 99},
{"X", "X", 99},
{"?", "?", 0},
{"He", "HE", 2}
};